package PersistanceLayer;

import PersistanceLayer.EcueDAO;
import PersistanceLayer.EtudiantDAO;
import PersistanceLayer.PointJuryDAO;



public class DAOFactory extends AbstractDAOFactory {
        // Instanciation d'un objet unique de type DAOFactory
    private static final DAOFactory instance = new DAOFactory();

    /**
     * Methode permettant de retourner l'instance unique de type DAOFactory
     */
    public final static DAOFactory getDAOFactory () {
        return instance;
    }



    /**
     */
    @Override
    public DAO getDepartementDAO() {
    	return DepartementDAO.getInstance();
    }

    @Override
    public DAO getEcueDAO() {
        return EcueDAO.getInstance();
    }

    @Override
    public DAO getEtudiantDAO() {
        return EtudiantDAO.getInstance();
    }

    @Override
    public DAO getNoteDAO() {
        return NoteDAO.getInstance();
    }

    @Override
    public DAO getPointJuryDAO() {
        return PointJuryDAO.getInstance();
    }

    @Override
    public DAO getPointJurySemDAO() {
        return PointJurySemDAO.getInstance();
    }

    @Override
    public DAO getPointJuryUE() {
    	return PointJuryUEDAO.getInstance();
    }

    @Override
    public DAO getAnneeDAO() {
    	return AnneeDAO.getInstance();
    }

    @Override
    public DAO getEnseignantDAO() {
    	return EnseignantDAO.getInstance();
      }

    @Override
    public DAO getUEDAO() {
        return UEDAO.getInstance();
    }

    @Override
    public DAO getSemestreDAO() {
        return SemestreDAO.getInstance();
    }




}